package leetcode.easy;

/**
 * @author 马迪迪
 * @description: leetcode第1295题
 * 给你一个整数数组 nums ，请你返回其中包含 偶数 个数位的数字的个数
 * 示例1:
 * 输入：nums = [12,45,2,6,7896]
 * 输出：2
 * 解释：
 * 12 是 2 位数字（位数位偶数）
 * 345 是 3 位数字（位数为奇数）
 * 2 是 1 位数字（位数位奇数）
 * 6 是 1 位数字（位数位奇数）
 * 7806 是 4 位数字（位数位偶数）
 * 因此只有 12 和 7896 是位数位偶数的数字
 * @data 2025年05月07日21时50分
 */
public class 统计位数为偶数的数字 {

    public static void main(String[] args) {
        int[] nums = {12, 345, 2, 6, 7896};
        System.out.println(findNumbers(nums));
        System.out.println("------------------");
        System.out.println(findNumbers2(nums));
    }

    public static int findNumbers(int[] nums) {
        int res = 0;
        for (int i = 0; i < nums.length; i++) {
            if (String.valueOf(nums[i]).length() % 2 == 0) res++;
        }
        return res;
    }

    public static int findNumbers2(int[] nums) {
        int res = 0;
        for (int i : nums) {
            int n = 0;
            while (i != 0) {
                i /= 10;
                n++;
            }
            if (n % 2 == 0) res++;
        }
        return res;
    }
}
